import { AxiosRequestConfig } from 'axios';

// 环境变量
const env = import.meta.env;

// 请求配置
export const defaultConfig: AxiosRequestConfig = {
  // 基础URL
  baseURL: env.VITE_APP_BASE_API_URL as string,
  // 超时时间
  timeout: Number(env.VITE_APP_TIMEOUT) || 5000,
  // 请求头
  headers: {
    'Content-Type': 'application/json;charset=utf-8',
  },
};

// 不同环境下的配置
export const envConfig = {
  // 开发环境
  development: {
    baseURL: 'http://127.0.0.1:3000',
    mockURL: 'http://127.0.0.1:3000/mock',
  },
  // 测试环境
  test: {
    baseURL: 'https://test-api.example.com',
    mockURL: '',
  },
  // 生产环境
  production: {
    baseURL: 'https://api.example.com',
    mockURL: '',
  },
};

// 当前环境
export const currentEnv = env.VITE_APP_API_ENV as 'development' | 'test' | 'production' || 'development';

// 当前环境的配置
export const currentEnvConfig = envConfig[currentEnv];

// 是否开启请求日志
export const enableRequestLog = currentEnv === 'development';

// 是否开启响应日志
export const enableResponseLog = currentEnv === 'development';

// 默认请求重试次数
export const defaultRetryCount = 3;

// 默认请求重试间隔 (毫秒)
export const defaultRetryDelay = 1000; 